Cloud Shell のセッションを終了した後も gcloud CLI 構成を維持したい
こんにちは!エノカワです。
Cloud Shell では、gcloud CLI 構成を使うことでプロジェクトやアカウントの設定を名前付きで管理することができます。
ですが、gcloud CLI の設定は、Cloud Shell の現在のタブのみに設定され、セッションを終了してしまうと構成が維持されません。
そのため、Cloud Shell を再起動すると、以前に使用していた gcloud CLI 設定がリセットされてしまいます。
今回は、Cloud Shell のセッションを終了した後も gcloud CLI 構成を維持する方法をご紹介します。
gcloud CLI 構成 とは
gcloud CLI 構成は、プロジェクト、アカウント、デフォルトのリージョンやゾーンなど、Google Cloud における作業環境を定義する設定です。
構成を使うことで、異なるプロジェクトや環境を切り替えることが簡単にでき、設定の再入力の手間を省くことができます。
gcloud config configurations create
コマンドを使用して構成を作成し、gcloud config set
コマンドで具体的な設定を行います。
gcloud CLI 構成を維持するには
ドキュメントにバッチリ記載されていました。
常に同じ gcloud CLI の構成を使用するには、.bashrc ファイルの末尾に export CLOUDSDK_CONFIG=$HOME/.config/gcloud を追加してから、gcloud config configurations create CONFIG_NAME を実行して必要な構成を作成します。
試してみた
さっそく記載の方法を試してみました。
※コマンド中のプロジェクトやアカウントは例示のためのダミーとなります。
CLOUDSDK_CONFIG 設定前
gcloud CLI 構成の一覧を表示します。
default
のみです。
$ gcloud config configurations list
NAME: default
IS_ACTIVE: True
ACCOUNT:
PROJECT: default-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
新しい構成を作成します。
$ gcloud config configurations create my-config
Created [my-config].
Activated [my-config].
$ gcloud config set project my-project
Updated property [core/project].
$ gcloud config set account user@example.com
Updated property [core/account].
my-config
が追加され、アクティブ状態になりました。
$ gcloud config configurations list
NAME: default
IS_ACTIVE: True
ACCOUNT:
PROJECT: default-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
NAME: my-config
IS_ACTIVE: Active
ACCOUNT: user@example.com
PROJECT: my-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
Cloud Shell を再起動して、gcloud CLI 構成の一覧を表示します。
$ gcloud config configurations list
NAME: default
IS_ACTIVE: True
ACCOUNT:
PROJECT: default-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
先ほど作成したmy-config
が消えちゃいました。。
CLOUDSDK_CONFIG 設定後
.bashrc ファイルにCLOUDSDK_CONFIG
設定後、同様の手順で gcloud CLI 構成を作成してみましょう。
.bashrc ファイルの末尾にexport CLOUDSDK_CONFIG=$HOME/.config/gcloud
を追加します。
echo 'export CLOUDSDK_CONFIG=$HOME/.config/gcloud' >> ~/.bashrc
my-config
を作成します。
$ gcloud config configurations create my-config
Created [my-config].
Activated [my-config].
$ gcloud config set project my-project
Updated property [core/project].
$ gcloud config set account user@example.com
Updated property [core/account].
Cloud Shell を再起動して、gcloud CLI 構成の一覧を表示します。
$ gcloud config configurations list
NAME: default
IS_ACTIVE: True
ACCOUNT:
PROJECT: default-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
NAME: my-config
IS_ACTIVE: Active
ACCOUNT: user@example.com
PROJECT: my-project
COMPUTE_DEFAULT_ZONE:
COMPUTE_DEFAULT_REGION:
先ほど作成したmy-config
が残っています!
さらにmy-config
がアクティブの状態も維持されています。
まとめ
以上、Cloud Shell のセッションを終了した後も gcloud CLI 構成を維持する方法のご紹介でした。
この設定を行うことで、Cloud Shell のセッションが終了しても gcloud CLI の構成が保持され、毎回の再設定の手間が省けます。
個人的に Cloud Shell を再起動すると以前設定していた gcloud CLI の設定が消えて困ったことがあったので、もしかしたら同様の事象でお困りの方もいらっしゃるかと思い、ご紹介させていただきました。
Cloud Shell 作業効率化の一助となれば幸いです!